home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 5.5 KB | 122 lines | [TEXT/MPS ] |
- //-----------------------------------------------------------------------------
- // SLCyPart.h
- // Callback struct for FW_OCyberPartExtension.
- // See FWCyber.doc for theory and operation.
- //
- // Copyright (c) 1995 - 1996 by Apple Computer, Inc., all rights reserved.
- //-----------------------------------------------------------------------------
-
- #ifndef _FW_SCyberPartExtensionCallbacks_
- #define _FW_SCyberPartExtensionCallbacks_
-
- // There's some question over whether we need to use UPPs when defining
- // callbacks from SOM objects into our code. We don't think so, and since
- // UPPs result in lost type information, we're not using them.
- // The UPPs are not being maintained.
- #define FW_CyberUseUPPsFlag 0
-
- #include <som.xh>
- #include <CyberItem.xh> // CyberItemList
- #if FW_CyberUseUPPsFlag
- #include <MixedMode.h>
- #endif
-
- struct Environment;
- struct FW_SCyberPartExtensionCallbacks;
- class ODFrame;
- class CyberItem;
- class ParameterSet;
-
- #if FW_CyberUseUPPsFlag
-
- enum {
- FW_kDoCyberCommandInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))),
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ODFrame*))),
- | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(somToken))),
- FW_kOpenCyberItemInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ODPart*))),
- | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(ParameterSet*))),
- FW_kSetCyberItemInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(ParameterSet*))),
- FW_kShowCyberItemInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*))),
- FW_kIsSelectedURLInfo = kCStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
- FW_kGetSelectedURLInfo = kCStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(corbastring)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
- FW_kIsSelectedCyberItemInfo = kCStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
- FW_kAcquireSelectedCyberItemsInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*))),
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ODFrame*))),
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(CyberItemList*))),
- FW_kGetCyberItemWindowInfo = kCStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ODWindow*)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Environment*)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(FW_SCyberPartExtensionCallbacks*)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(CyberItem*)))
- };
-
- #endif
-
- // Since this structure is part of the FW_OCyberPartExtension API, and
- // may be compiled into a shared library, it needs to have compiler-
- // independent alignment.
-
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=mac68k
- #endif
- struct FW_SCyberPartExtensionCallbacks {
- #if !FW_CyberUseUPPsFlag
- void (*openCyberItem) (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*, ODPart*, ParameterSet*);
- void (*setCyberItem) (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*, ParameterSet*);
- ODBoolean (*canShowCyberItem) (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
- void (*showCyberItem) (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
- ODWindow* (*getCyberItemWindow) (Environment*, FW_SCyberPartExtensionCallbacks*, CyberItem*);
- ODBoolean (*isCyberItemSelected) (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*);
- void (*acquireSelectedCyberItems) (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*, CyberItemList*);
- ODBoolean (*isURLSelected) (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*);
- void (*getSelectedURL) (Environment*, FW_SCyberPartExtensionCallbacks*, ODFrame*, FW_CString& url);
- ODBoolean (*handleCommand) (Environment*, FW_SCyberPartExtensionCallbacks*, long, long, ODFrame*, somToken);
- void (*extensionRemoved) (Environment*, FW_SCyberPartExtensionCallbacks*);
- #else
- # error obsolete
- UniversalProcPtr doCyberCommand;
- UniversalProcPtr openCyberItem;
- UniversalProcPtr setCyberItem;
- UniversalProcPtr showCyberItem;
- UniversalProcPtr isSelectedURL;
- UniversalProcPtr getSelectedURL;
- UniversalProcPtr isSelectedCyberItem;
- UniversalProcPtr acquireSelectedCyberItems;
- UniversalProcPtr getCyberItemWindow;
- #endif
- };
- #if PRAGMA_ALIGN_SUPPORTED
- #pragma options align=reset
- #endif
-
- #endif // _FW_SCyberPartExtensionCallbacks_
-
-